﻿using Autofac;
using KingRoad.EPM.CompletionMaterialsBLL.UIRules;
using KingRoad.EPM.CompletionMaterialsDAL.BcdFileDataListService;
using KingRoad.EPM.CompletionMaterialsDAL.BcdFileDataService;
using KingRoad.EPM.CompletionMaterialsDAL.BcdFileListService;
using KingRoad.EPM.CompletionMaterialsDAL.BcdProfiletypeService;
using KingRoad.EPM.CompletionMaterialsDAL.BcdProjectFileService;
using KingRoad.EPM.CompletionMaterialsDAL.BcdProjectFileTempService;
using KingRoad.EPM.CompletionMaterialsDAL.BcdProjectService;
using KingRoad.EPM.CompletionMaterialsDAL.BcdVolumeDirectoryService;
using KingRoad.EPM.CompletionMaterialsDAL.CommonFileService;
using KingRoad.EPM.CompletionMaterialsDAL.ProjectSegmentService;
using KingRoad.EPM.CompletionMaterialsDAL.ScmAttachsfilesService;
using KingRoad.EPM.CompletionMaterialsDAL.ScmSafetyconstructiondicService;
using Unis.Framework.Core.Infrastructure;
using Unis.Framework.Core.Infrastructure.DependencyManagement;



namespace KingRoad.EPM.Web.Areas.CompletionMaterials.CompletionMaterialsFramework
{
    public class DependencyRegistrar : IDependencyRegistrar
    {
        #region IDependencyRegistrar 成员

        public int Order { get; private set; }

        public void Register(ContainerBuilder builder, ITypeFinder typeFinder)
        {
            #region 注册业务逻辑方法
            builder.RegisterType<ScmSafetyconstructiondicUIRule>();
            builder.RegisterType<ProjectSegmentUIRule>();
            builder.RegisterType<BcdFiledataUIRule>();
            builder.RegisterType<BcdProjectUIRule>();
            builder.RegisterType<BcdProjectfileUIRule>();
            builder.RegisterType<BcdProjectfiletempUIRule>();
            builder.RegisterType<BcdFiledatalistUIRule>();
            builder.RegisterType<BcdFilelistUIRule>();
            builder.RegisterType<BcdVolumedirectoryUIRule>();
            builder.RegisterType<CommonFileUIRule>();
            builder.RegisterType<ScmAttachsfilesUIRule>();
            builder.RegisterType<BcdProfiletypeUIRule>();
            #endregion
            #region 数据访问层注册解析
            builder.RegisterType<ScmSafetyconstructiondicService>().As<IScmSafetyconstructiondicService>();
            builder.RegisterType<ProjectSegmentService>().As<IProjectSegmentService>();
            builder.RegisterType<BcdFiledataService>().As<IBcdFiledataService>();
            builder.RegisterType<BcdProjectService>().As<IBcdProjectService>();
            builder.RegisterType<BcdProjectfileService>().As<IBcdProjectfileService>();
            builder.RegisterType<BcdProjectfiletempService>().As<IBcdProjectfiletempService>();
            builder.RegisterType<BcdFiledatalistService>().As<IBcdFiledatalistService>();
            builder.RegisterType<BcdFilelistService>().As<IBcdFilelistService>();
            builder.RegisterType<BcdVolumedirectoryService>().As<IBcdVolumedirectoryService>();
            builder.RegisterType<CommonFileService>().As<ICommonFileService>();
            builder.RegisterType<ScmAttachsfilesService>().As<IScmAttachsfilesService>();
            builder.RegisterType<BcdProfiletypeService>().As<IBcdProfiletypeService>();
            #endregion
        }

        #endregion
    }
}